---
author:
  name: '@jimmyliu'
  url: 'https://twitter.com/jimmyliu'
---

import createnativeapp from '../../images/createnativeapp.png'
import expo from '../../images/expo.png'

In this section, we'll use `expo-cli` to set up a new React Native app.

You'll need Node.js v10 or newer installed, so if you don't have it already, download the installer at [nodejs.org](https://nodejs.org). Choose the appropriate package for your platform and follow the instructions to install.

## Installation

First, let's install [`expo-cli`](https://docs.expo.io/versions/latest/workflow/expo-cli/), a command-line tool for working with React Native projects.

```bash
npm install --global expo-cli
```

Now use expo-cli to create a new app:

```bash
expo init MyApp --template blank

cd MyApp
npm start
```

`expo-cli` may take a few minutes to download dependencies.

> If you have `yarn` installed, Expo will ask whether you'd like to use `yarn` instead of `npm`. Either way is fine.

You should see a QR code like this after it's done:

<img src={createnativeapp} style={{ width: '550px', maxWidth: '100%' }} />

You just created your first React Native app! Now you can install the Expo Client on [iOS](https://itunes.apple.com/us/app/expo-client/id982107779?mt=8) or [Android](https://play.google.com/store/apps/details?id=host.exp.exponent&hl=en) and scan the QR code to view it.

If you see this, success! You're ready to start working on your new React Native App.

<img src={expo} style={{ width: '400px', maxWidth: '100%' }} />

## Making changes

Try changing the text in `App.js`, saving the file, and watching it update on your device.

### Up next

Now that you have a project set up, let's jump into some of the important JavaScript language features you'll be using. If you're already familiar with each, skip to [React](../react) to learn more about React. If you're already familiar with React, skip to [Core Components](../core_components) to learn about the components provided by the React Native framework.
